Computer graphics is the art of projecting virtual three dimensional (3D) objects onto a two dimensional (2D) grid of pixels (the display). Rendering is the process of generating the 2D images from the 3D representations. In computer graphics rendering, shading refers to the process of altering the color of an object/surface/polygon in the 3D scene, based on its angle to virtual lights and distance from virtual lights, to create a photorealistic effect. In order to give objects an appearance of depth and realism, the graphics pipeline computes lighting and shading properties for the objects. This shading is generally computed using the object's surface normal, a user defined virtual viewpoint, and user defined virtual lights. Gouraud shading and Phong shading are two common interpolation techniques used for surface shading in 3D computer graphics.